Peripheral device with a centralized management server, and system, computer program product and method for managing peripheral devices connected to a network

ABSTRACT

Peripheral devices connected to a network each include a device management controller capable of deciding which peripheral device is to perform the managing function for all peripheral devices. The selected peripheral device has a device management server that can be enabled to function as a centralized management server. The default URLs of the web servers for the non-selected peripheral devices are set to correspond to the web server for the selected peripheral device. A user accessing any of the peripheral devices is thus routed to the centralized managing device. The peripheral devices can be printers forming a distributed printing system managed by one printer. A system, a method and a computer program product for managing peripheral devices on a network are also disclosed.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention is directed to a peripheral device with acentralized management server, and to a system, a computer programproduct and a method for managing peripheral devices connected to anetwork.

[0003] 2. Discussion of the Background

[0004] Today's world of information technology relies on an increasinglycomplex inter-relationship between computers, communication networks,printers, scanners, fax machines, copy machines, pagers, cell phones,and other devices. This complexity strains the ability of the users tomanage the different components of the systems. For example, the user ofa printing system including several printers connected via a networkfaces the burden of managing each printer.

[0005]FIG. 1 shows a conventional printing system, which includesseveral printers or multi-function peripherals (MFP) 10-30 connected toa communication network 90, to which is connected a user station 40. Theprinting system of FIG. 1 can be used, for example, as a distributedprinting system, wherein a user with a large printing job saves time byparallel printing on several different printers. Alternatively, a usermay want to print different portions of the job to printers located atdifferent sites, or can select printers with different characteristics(e.g., color, high speed, stapling, punching, and book finishingcapabilities) based on what the user wants to do.

[0006] More generally, devices 10-30 can be peripheral devices, such asprinters, digital copiers, fax machines, copy machines, or combinationsthereof. The communication network 90 is for example the Internet or anintranet. The user station 40 can be a personal computer (PC) or aworkstation (WS), which permits a user to connect to the network 90 (forexample via a network interface card) and access the peripheral devices10-30 (for example via a Web browser).

[0007] In the conventional printing system of FIG. 1, each of theperipheral devices 10-30 includes a local management device (not shown)that performs management functions for that device. The user station 40accesses the management functions of each device through the network 90.The user must, however, access, manage and maintain each peripheraldevice 10-30 independently via the devices' individual networkaddresses. The dotted lines in FIG. 1 illustrate these independentmanagement accesses between each of the peripheral devices 10-30 and theuser station 40. This conventional approach is rather inefficient fromthe point of view of the user station 40.

[0008] A proposed solution is to dedicate a server on the network toperform the management function for the user. This proposal, however,requires adding a dedicated server on the network, which is cumbersomeand costly. Furthermore, if the dedicated server breaks down, theperipheral devices cannot be properly managed.

SUMMARY OF THE INVENTION

[0009] Accordingly, one object of the present invention is to provide aperipheral device with a centralized management server configured tomanage several peripheral devices connected to a network.

[0010] Another object of the present invention is to provide a systemincluding several peripheral devices managed by a centralized managementserver located in one of the peripheral devices.

[0011] Yet another object of the present invention is to provide acomputer program product configured to manage, from a peripheral device,several peripheral devices connected to a network.

[0012] Another object of the present invention is to provide a method ofmanaging, from a peripheral device, several peripheral devices connectedto a network.

[0013] To achieve these and other objects, the present inventionprovides several peripheral devices connected to a network. Each of theperipheral devices can include a device management controller to decidewhich peripheral device is to perform the managing function for allperipheral devices. The selected peripheral device has a devicemanagement server that performs the functions of a centralizedmanagement server. The non-selected peripheral devices have a web serverthat directs a user to the web server of the selected peripheral device.Accordingly, a single peripheral device centrally manages severalperipheral devices connected to the network. The user of the system needonly know a single network address corresponding to any one of the webservers of the devices on the network. Form the point of view of theuser, the system according to the present invention is simplified andmore efficient compared to the conventional system shown in FIG. 1. Inaddition, if the managing device breaks down, another peripheral deviceon the network can take over the central managing functions.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] A more complete appreciation of the invention and many of theattendant advantages thereof will be readily obtained as the samebecomes better understood by reference to the following detaileddescription when considered in connection with the accompanyingdrawings, wherein:

[0015]FIG. 1 is a block diagram showing a conventional printing system;

[0016]FIG. 2 is a block diagram showing a system according to thepresent invention;

[0017]FIG. 3 is a block diagram illustrating functional components of aperipheral device and a user station according to the present invention;

[0018]FIG. 4 is a comparison table used to select a centralizedmanagement device according to the present invention;

[0019]FIG. 5 is a block diagram showing the hardware components of aperipheral device according to the present invention; and

[0020] FIGS. 6A-B show a flow chart of a method of managing peripheraldevices according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] Referring now to the drawings, wherein like reference numeralsdesignate identical or corresponding parts throughout the several views,FIG. 2 is a block diagram of a system according to the presentinvention. The system includes several peripheral devices 50-70connected to a network 100, to which is connected a user station 80.

[0022] The system of FIG. 2 can be, for example, a distributed printingsystem wherein the peripheral devices 50-70 are printers and/or MFPs. Ingeneral, the peripheral devices 50-70 include, but are not limited to,printers, MFPs, digital copiers, fax machines, copy machines, orcombinations thereof.

[0023] The communication network 100 is preferably the Internet or anintranet, but can also be a local area network, a wide area network, orany type of network such as an extranet used to provide controlledaccess to external users, for example through the Internet. Othercommunication links for the network 100, such as a virtual privatenetwork, or a wireless link, may be used as well.

[0024] The user station 80 can be a personal computer (PC) or aworkstation (WS), which permits a user to connect to the network 100(for example via a network interface card) and access the peripheraldevices 50-70 (for example via a Web browser).

[0025] Turning now to FIG. 3, this block diagram illustrates thefunctional components of the peripheral device 60 and the user station80 according to the present invention. It is to be understood that thefunctional components, and their organization, shown in FIG. 3 are onlyillustrative and should not be considered as limiting the presentinvention. Furthermore, while peripheral device 60 is shown, the otherdevices 50 and 70 may have similar functional components.

[0026] As shown in FIG. 3, each of the peripheral devices 50-70 caninclude a management controller 110 configured to decide whichperipheral device on the network is to perform the managing function forthe peripheral devices 50-70. For example, each management controller110 can compare a characteristic for each of the peripheral devices50-70, and based on this comparison, can decide whether or not itscorresponding device should be the centralized managing device. Themanagement controllers 110 can thus select based on such comparison oneof the peripheral devices 50-70 as the centralized managing device. Themanagement controllers 110 can select the centralized managing devicebased on a variety of criteria, such as CPU performance, memory size,average load, etc. For example, based on the data listed in FIG. 4, themanagement controllers 110 would select the peripheral device 60 becauseit has the highest CPU performance out of the three peripheral devicesconnected to the network 100 The user can also exclude certainperipheral devices from being selected as the centralized managingdevice. For example, the user can set the variable used as the selectioncriteria to a lower value for a particular peripheral device, so as toavoid selection of that device.

[0027] Each of the peripheral devices 50-70 includes a device managementserver 120 that can be the centralized management server for the systemin the event that the management controllers 110 select that device asthe centralized managing device. As an example, in FIG. 2, the selectedperipheral device performing the centralized management function for thesystem is the peripheral device 60. Accordingly, the managementcontroller 110 of peripheral device 60 enables (turns ON) the devicemanagement server 120 of peripheral device 60. The management controllerof any previous centralized managing device can then disable its owndevice management server. The management controller of all non-selecteddevices (including the previous centralized managing device) can settheir respective default URLs (universal resource locators) of theirrespective web servers (discussed next) to correspond to the web server160 of the selected peripheral device (device 60 in FIG. 2). Forexample, the default URLs of the web servers for the non-selectedperipheral devices can be set to be the default URL of the web server ofthe selected peripheral device.

[0028] The peripheral devices 50-70 also include a web server 160. Theweb server 160 of the peripheral device selected to be the centralizedmanaging device provides the information gathered by the devicemanagement server 120 about the system's peripheral devices 50-70 to theuser station 80. In other words, the web server 160 is used to controland display the device management server function through the webbrowser of the user station 80. As explained above, the web servers 160of the non-selected peripheral devices direct the user station 80 to theweb server of the selected peripheral device. Web servers are well-knownin the art and one non-limiting type of web server is discussed forexample, in part 28 of “How The Internet Works”, by Preston Gralla, QueCorporation, August 1999, ISBN: 0-7897-2132-5, the entire content ofthis book being hereby incorporated by reference. The term “web server”is used in this document to describe generally an application serverconfigured to exchange information from the device management server 120to the user station 80 via a network. While the network 100 is intendedto be the Internet for a preferred embodiment of the present invention,the term “web server” is not intended to limit the server to anInternet-type server nor to limit the network 100 to the Internet.Similarly, the network identifiers for the data provided by the webservers for devices 50-70 are generally referred to as “URLs.” However,this nomenclature is not intended to limit the identifiers toInternet-type identifiers nor to limit the network 100 to the Internet.

[0029] In the non-selected peripheral devices (devices 50 and 70 in FIG.2), the management controllers 110 disable (turn OFF) their respectivedevice management servers 120. In these non-selected peripheral devices50 and 70, the management controllers 110 set the default URL of theirrespective web servers to correspond to the web server of the selectedperipheral device 60. Accordingly, a user attempting to access thenon-selected devices 50 and 70 is directed to the centralized managementdevice 60. In other words, the user of the system need only know theaddress of the web server for any single device on the network and needonly access a single web server. No matter which peripheral device theuser tries to access, the user is routed to the selected centralizedmanagement device so that the user can receive data from (e.g., status,error messages, etc.), and/or send requests or data to, the centralizedmanagement device. The user can thus access and/or manage the peripheraldevices on the network through the centralized management device. Thedotted lines in FIG. 2 illustrate how the user station 80 can access thesystem's peripheral devices 50-70 by accessing a single device (device60 in FIG. 2). From the point of view of the user, the system accordingto the present invention is simplified and more efficient compared tothe convention system shown in FIG. 1.

[0030] As mentioned above, if the peripheral device 60 is selected asthe managing device (the case shown in FIG. 2), the device managementserver 120 manages the system's peripheral devices 50-70. As thecentralized management device, the device management server 120 can, forexample, search for all connected peripheral devices, poll the status ofthese devices jam status, out-of-paper errors, etc.), set theirrespective configurations, provide information to the user station 80,and perform commands issued by the user station 80. In general, thedevice management server 120 can receive instructions from the userstation 80, request and receive information from the peripheral devicesconnected to the network 100, set configurations for the peripheraldevices, and send information to the user station 80. In a preferredembodiment, the device management server 120 manages, and interactswith, the system's peripheral devices 50-70 through a network managementprotocol, as described next.

[0031] The peripheral devices 50-70 can also include a networkmanagement protocol 150, such as the Simple Network Management Protocolor “SNMP.” The SNMP permits the device management server 120 tocommunicate with the management information base (MIB) (not shown) ofthe peripheral device 60 and with the MIBs of the other peripheraldevices 50 and 70 connected to the network 100. For example, the devicemanagement server 120 can request and receive, using the SNMP, statusand configuration information from the other peripheral devices. TheSNMP is well-known in the art and is described in chapter 25 of “TCP/IPIllustrated, Volume 1,” by Richard Stevens, Addison-Wesley (1994), theentire content of this book being hereby incorporated by reference.

[0032] If the peripheral devices 50-70 are printers, the devices includea printing protocol 140, such as LPR, IPP, port 9100 printing, and aprinting station 130. The printing station 130 is implemented by a printengine and controller configured to generate a printout, as iswell-known in the art. The printing protocol 140 allows the printstation 130 to print data received form the remote user station 80.Printing protocols are well-known in the art. If the peripheral devices50-70 perform other functions than printing, the devices can includeother types of protocols to perform such functions in accordance withcommands and data received from the user station 80.

[0033] The peripheral devices 50-70 also include a communicationprotocol 170, such as the Transmission Control Protocol/InternetProtocol “TCP/IP.” TCP/IP 170 permits the exchange of informationbetween the network 100 and the functional components of the peripheraldevices 50-70. TCP/IP protocols are well-known in the art and describedin “TCP/IP Illustrated, Volume 1,” by Richard Stevens, Addison-Wesley(1994), the entire content of this book being hereby incorporated byreference.

[0034]FIG. 3 also shows the functional components of the user station80, which includes a communication protocol 190, such as TCP/IP thatenables basic communication with the network 100. The user station 80also includes a browser function 180. The browser function 180 permits auser to browse through the network for information about the system'speripheral devices 50-70. The browser function 180 can be implemented bya web browser tool including, but not limited to INTERNET EXPLORER,available from Microsoft Corporation and NETSCAPE NAVIGATOR, availablefrom Netscape Communications Corporation.

[0035] The device management server 120 can thus obtain informationrelated to all the system's peripheral devices 50-70 using SNMP 150 andTCP/IP 170, transmit that information using the web server 160 viaTCP/IP 170 to the user station 80. In turn, the user at the user station80 can configure and change the settings of any peripheral device usingits browser function 180 and TCP/IP 190.

[0036]FIG. 5 illustrates the hardware components that implement thefunctional components of the peripheral devices 50-70. A centralprocessing unit 210 (“CPU”) performs a number of the managementcontroller and management server functions. The CPU 210 communicateswith a number of other devices by way of a system bus 270.

[0037] A read only memory 220 (“ROM”) connects to the system bus 270 foruse by the CPU 210. The ROM 220 includes computer readable instructionsthat, when executed by the CPU 210, perform the different functionsdiscussed above associated with managing and printing. The ROM 220 canbe in a semiconductor, optical, or other forms capable of hostingapplication software and temporary results.

[0038] A communication controller 230 connected to the system bus 270provides a connection to the network 100 and permits the peripheraldevices 50-70 to communicate with each other and other devices. Varioustypes of communication controller 230 are well-known in the art and canbe used for the present invention. In a preferred embodiment, thecommunication controller 230 includes a network interface card (“NIC”),such as an Ethernet card.

[0039] A random access memory 240 (“RAM”) connected to the system bus270 hosts temporary storage values used in implementing the functions ofthe peripheral devices 50-70, such as the managing and printingfunctions.

[0040] A printer controller 250 connected to the system bus 270 controlsthe printer engine and related peripherals such as duplex unit andfinisher in order to produce a printout.

[0041] An operation panel 260 connected to the system bus 270 providesan input/output capability. For example, the operation panel 260 caninclude a keyboard or key pad to input information and a display deviceto display information. A variety of display devices may be used such asa liquid crystal display (“LCD”).

[0042] FIGS. 6A-B show a flowchart illustrating a method of managingseveral peripheral devices on a network, according to the presentinvention. This method can be implemented by the above-describedmanagement controller 110 and the device management server 120 ofperipheral devices 50-70. In the following description, the method isdescribed in terms of the functions performed by one of the peripheraldevices (hereafter “the device”), which can be any one of the devices50-70.

[0043] After booting up at step 300, the device obtains information forother peripheral devices connected to the network at step 310. Forexample, the device can use SNMP 150 commands to request comparison datasuch as the CPU performance of the system's devices. At step 320, thedevice inquires as to whether there is another enabled device managerserver (such as device manager server 120) providing managementfunctions for the devices connected to the network. If there is noenabled server, the process proceeds to step 370 where the device'smanagement server function is enabled, as described further below.

[0044] If there is an enabled device manager server (hereafter the“already enabled server”), the device compares the performance of thatserver with its own characteristics at step 330. For example, the devicecan use the CPU performance data shown in FIG. 4. At step 340, thedevice decides which device has the higher performance. If the device'sperformance is lower than the already enabled server, the device setsthe default URL for its web server to correspond to the default URL ofthe web server of the already enabled server at step 350. If thedevice's management server function is enabled, the device disables itsmanagement server function at step 360. If the device's managementserver function is not enabled, the device keeps it disabled. Theprocess can then loop back to step 310 and repeat the loop, for example,until the already enabled server is disabled, breaks down or until thevalue of the comparison data for the already enabled server drops belowthat of the device.

[0045] If the device's performance is higher than the already enabledserver, the device enables its device management server at step 370. Ifthe device's web server URL is set to another device's URL, the devicesets its web server URL back to its own web server at step 380. If thedevice's web server URL is already set to its own web server, the devicekeeps that setting. Once enabled, the device management server performsthe centralized management server function for the devices connected tothe network at step 390.

[0046] If a new device is added to the network, by checking at step 320whether another device has an enabled device management function, thedevice effectively checks whether the new device has its devicemanagement function enabled. If no new device is added or if the newdevice does not have an enabled device management function, the devicecontinues to perform the centralized management server function. Ifthere is a new device with an enabled device management function, thedevice can follow steps 330-390, as described above.

[0047] The mechanisms and processes set forth in the present descriptionmay be implemented using a conventional general purposemicroprocessor(s) programmed according to the teachings of the presentspecification, as will be appreciated to those skilled in the relevantarts. Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as willalso be apparent to those skilled in the relevant arts. In particular,the computer program product for managing peripheral devices on anetwork according to the present invention can be written in a number ofcomputer languages including but not limited to C, C⁺⁺, Fortran, andBasic, as would be recognized by those of ordinary skill in the art. Theinvention may also be implemented by the preparation of applicationsspecific integrated circuits or by interconnecting an appropriatenetwork of conventional component circuits, as will be readily apparentto those skilled in the art.

[0048] The present invention thus also includes a computer-based productthat may be hosted on a storage medium and include instructions that canbe used to program a computer to perform a method in accordance with thepresent invention. This storage medium can include, but is not limitedto, any type of disk including floppy disks, optical disks, CD-ROM,magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, Flash Memory,Magnetic or Optical Cards, or any type of media suitable for storingelectronic instructions.

[0049] Obviously, numerous additional modifications and variations ofthe present invention are possible in light of the above teachings. Itis therefore to be understood that within the scope of the appendedclaims the present invention may be practiced otherwise than asspecifically described herein.

What is claimed as new and desired to be secured by letters patent ofthe united states is:
 1. A peripheral device configured to be connectedto a plurality of peripheral devices via a network, said peripheraldevice comprising: means for managing said plurality of peripheraldevices.
 2. The peripheral device of claim 1, further comprising: meansfor selecting one peripheral device out of said peripheral devices tomanage said peripheral devices.
 3. The peripheral device of claim 2,further comprising: a web server; and means for setting a default URLfor said web server to correspond to a web server of said one peripheraldevice selected by said means for selecting.
 4. The peripheral device ofclaim 3, further comprising: means for enabling said means for managingwhen said one peripheral device selected by said means for selecting issaid peripheral device.
 5. The peripheral device of claim 3, furthercomprising: means for disabling said means for managing when said oneperipheral device selected by said means for selecting is not saidperipheral device.
 6. The peripheral device of claim 3, wherein saidmeans for managing comprises: means for receiving instructions from auser station connected to said network; means for requesting andreceiving information from said plurality of peripheral devices; meansfor setting configurations for said plurality of peripheral devices; andmeans for sending information to said user station.
 7. The peripheraldevice of claim 3, further comprising means for printing.
 8. Theperipheral device of claim 3, wherein said means for selecting comprisesmeans for comparing a characteristic for each of said plurality ofperipheral devices.
 9. The peripheral device of claim 1, furthercomprising: means for checking if an other peripheral device is managingsaid plurality of peripheral devices.
 10. The peripheral device of claim5, further comprising: means for disabling said means for managing whensaid other peripheral device is managing said plurality of peripheraldevices; a web server; and means for setting a default URL for said webserver to correspond to a web server of said other peripheral device.11. A system comprising: a plurality of peripheral devices connected toa network, wherein each peripheral device of said plurality ofperipheral devices comprises: means for managing said plurality ofperipheral devices.
 12. The system of claim 11, wherein each peripheraldevice further comprises: means for selecting one peripheral device outof said plurality of peripheral devices to manage said plurality ofperipheral devices.
 13. The system of claim 12, wherein each peripheraldevice further comprises: a web server; and means for setting a defaultURL for said web server to correspond to a web server of said oneperipheral device selected by said means for selecting.
 14. The systemof claim 11, wherein each peripheral device further comprises: means forchecking which peripheral device is managing said plurality ofperipheral devices.
 15. The system of claim 14, wherein each peripheraldevice further comprises: means for enabling said means for managing.16. The system of claim 14, wherein each peripheral device furthercomprises: means for disabling said means for managing; a web server;and means for setting a default URL for said web server to correspond toa web server of said peripheral device managing said plurality ofperipheral devices.
 17. The system of claim 14, wherein said means formanaging comprises: means for requesting and receiving information fromsaid plurality of peripheral devices.
 18. The system of claim 14,wherein said means for managing comprises: means for receivinginstructions from a user station connected to said network; means forrequesting and receiving information from said plurality of peripheraldevices; means for setting configurations for said plurality ofperipheral devices; and means for sending information to said userstation.
 19. The system of claim 14, wherein each peripheral devicefurther comprises means for printing.
 20. The system of claim 13,wherein said means for selecting comprises means for comparing acharacteristic for each of said plurality of peripheral devices.
 21. Amethod for managing a plurality of peripheral devices connected to anetwork, comprising the steps of: selecting one peripheral device out ofsaid plurality of peripheral devices to manage said peripheral devices;managing said plurality of peripheral devices from said one peripheraldevice; and setting default URLs of web servers for said peripheraldevices to correspond to a web server for said one peripheral device.22. The method of claim 21, further comprising the step of: disablingmanaging means of peripheral devices other than said one peripheraldevice.
 23. The method of claim 21, wherein the step of managing fromsaid one peripheral device comprises the step of: receiving instructionsfrom a user station connected to said network.
 24. The method of claim21, wherein the step of managing from said one peripheral devicecomprises the step of: requesting and receiving information from saidplurality of peripheral devices.
 25. The method of claim 21, wherein thestep of managing from said one peripheral device comprises the steps of:receiving instructions from a user station connected to said network;requesting and receiving information from said plurality of peripheraldevices; setting configurations for said plurality of peripheraldevices; and sending information to said user station.
 26. The method ofclaim 21, further comprising the step of printing.
 27. The method ofclaim 21, wherein said step of selecting comprises a step of comparing acharacteristic for each of said plurality of peripheral devices.
 28. Acomputer program product, comprising: a computer storage medium and acomputer program code mechanism embedded in the computer storage mediumfor causing a peripheral device to manage a plurality of peripheraldevices connected to a network, the computer program code mechanismcomprising: a first computer code device configured to manage saidplurality of peripheral devices from one peripheral device.
 29. Thecomputer program product of claim 28, further comprising: a secondcomputer code device configured to select said one peripheral device outof said peripheral devices to manage said peripheral devices.
 30. Thecomputer program product of claim 28, further comprising: a secondcomputer code device configured to check which peripheral device ismanaging said plurality of peripheral devices.
 31. The computer programproduct of claim 30, further comprising: a third computer code deviceconfigured to enable said first computer code device.
 32. The computerprogram product of claim 30, further comprising: a third computer codedevice configured to disable said first computer code device and to seta URL of a web server to correspond to a web server for said peripheraldevice managing said plurality of peripheral devices.
 33. The computerprogram product of claim 28, wherein said first computer code devicecomprises: a second computer code device configured to receiveinstructions from a user station connected to said network.
 34. Thecomputer program product of claim 28, wherein said first computer codedevice comprises: a second computer code device configured to requestand receive information from said plurality of peripheral devices. 35.The computer program product of claim 28, wherein said first computercode device comprises: a second computer code device configured toreceive instructions from a user station connect to said network; athird computer code device configured to request and receive informationfrom said plurality of peripheral devices; a fourth computer code deviceconfigured to set configurations for said plurality of peripheraldevices; and a fifth computer code device configured to send informationto said user station.
 36. The computer program product of claim 29,wherein said second computer code device comprises a third computer codedevice configured to compare a characteristic for each of said pluralityof peripheral devices.